簡介:體驗新一代高性能 Python Web 框架,本課程將從 Hellow World 開始引導(dǎo)同學(xué)們學(xué)習(xí) FastAPI 框架的所有知識點。從框架特性一覽,到 ASGI 服務(wù)介紹,以全球新冠病毒感染數(shù)據(jù)查詢?yōu)楣δ軋鼍?,依次講解 FastAPI 的 API 交互文檔使用,如何使用 Pydantic 定義和規(guī)范數(shù)據(jù)格式、類型,各種請求參數(shù)和驗證,Jinja2 模板渲染和 Static 靜態(tài)文件配置,F(xiàn)astAPI 的響應(yīng)處理和配置,通過代碼示例講解依賴注入系統(tǒng)的所有知識,數(shù)據(jù)庫配置與 SQLAlchemy 的使用,大型工程應(yīng)該如何設(shè)計目錄結(jié)構(gòu)。
框架的安全、認證、授權(quán),中間件開發(fā),跨域資源共享的實現(xiàn),后臺任務(wù)和測試用例的編寫。
第1章 課程介紹
介紹本課程的學(xué)習(xí)內(nèi)容和目標(biāo),如何學(xué)習(xí)本課程,展示最終代碼和效果,引導(dǎo)同學(xué)們對 FastAPI 框架有一個基本的了解,并能夠在課程結(jié)束后獨立使用 FastAPI 完成 RESTful API 接口開發(fā)
第2章 FastAPI介紹和項目準(zhǔn)備
在學(xué)習(xí) FastAPI 之前,先給大家介紹其相關(guān)的內(nèi)容,如框架的優(yōu)點,起源(與Pydantic/Starlette的關(guān)系),部署用到的服務(wù)。然后再講項目開發(fā)環(huán)境的搭建,最后是Pydantic包用法的講解。
第3章 請求參數(shù)和驗證
本章先講 FastAPI 程序的編碼方式,它自帶的 API 交互文檔 Swagger UI,然后講解 FastAPI 框架如何給后端傳遞參數(shù),包括:路勁參數(shù)、參數(shù)參數(shù)、Body請求體、Cookie和Header參數(shù)。還有不同參數(shù)類型的組合使用。
- 視頻: 3-1 hello world 接口給后端傳 COVID-19 感染數(shù)據(jù) (11:17)
- 視頻: 3-2 FastAPI 的 API 交互文檔 - Swagger UI 和 ReDoc (05:23)
- 視頻: 3-3 路徑參數(shù)和數(shù)據(jù)的解析、驗證 (19:51)
- 視頻: 3-4 查詢參數(shù)和數(shù)據(jù)的解析、驗證 (06:07)
- 視頻: 3-5 請求體以及混合參數(shù) (09:20)
- 視頻: 3-6 如何定義數(shù)據(jù)格式嵌套的請求體? (03:22)
- 視頻: 3-7 如何設(shè)置 Cookie 和 Header 參數(shù)? (06:07)
第4章 響應(yīng)處理和FastAPI配置
本章講解 FastAPI 框架的響應(yīng) Response,包括響應(yīng)模型類和狀態(tài)碼。還有表單數(shù)據(jù)處理、上傳文件、路徑操作配置。FastAPI 應(yīng)用的配置,錯誤處理。
第5章 FastAPI的依賴注入系統(tǒng)
本章專門講解 FastAPI 的依賴注入系統(tǒng),從概念、原理到開發(fā)套路。
第6章 安全、認證和授權(quán)
本章會先圖文講解 OAuth 2.0 的概念和原理,然后 FastAPI 框架中實現(xiàn) OAuth 2.0 的密碼模式認證和 JWT 認證。
第7章 FastAPI的數(shù)據(jù)庫操作和多應(yīng)用的目錄結(jié)構(gòu)設(shè)計
這章代碼量較多,主要是開發(fā) Coronavirus 應(yīng)用,實現(xiàn)課程開頭部分大家看到的效果。過程中會講解到數(shù)據(jù)庫的配置,SQLAlchemy ORM的開發(fā),Jinja2模板的開發(fā)。最后還有一個關(guān)于工程知識點,項目目錄有結(jié)構(gòu)的優(yōu)化。
- 視頻: 7-1 FastAPI 項目中配置 SQLAlchemy ORM (09:58)
- 視頻: 7-2 SQLAlchemy 開發(fā) COVID-19 模型類 (09:51)
- 視頻: 7-3 使用 Pydantic 建立與模型類對應(yīng)的數(shù)據(jù)格式類 (03:57)
- 視頻: 7-4 把創(chuàng)建和查詢 COVID-19 數(shù)據(jù)封裝成函數(shù) (08:01)
- 視頻: 7-5 開發(fā) COVID-19 感染數(shù)據(jù)查詢接口 (16:36)
- 視頻: 7-6 Jinja2 模板渲染前端頁面 (19:06)
- 視頻: 7-7 大型工程的目錄結(jié)構(gòu)設(shè)計 - 應(yīng)用文件拆分 (06:30)
第8章 中間件、CORS、后臺任務(wù)、測試用例
這章把4個零散的知識點放在一起,都分別實現(xiàn)一些的簡單的示例,便于大家理解。后臺任務(wù)的部分,會把 Coronavirus 應(yīng)用中的后臺同步數(shù)據(jù)功能完成。